package com.formula.datastructure.exercise.sort.basic;

import com.formula.datastructure.util.DataUtil;

/**
 * 简单选择排序
 * 每次找出i之后最小的和i进行交换
 */
public class SelectSort {

    public Integer[] sort(Integer[] array) {
        Integer temp;
        int min;
        int size = array.length;
        for (int i = 0; i < size - 1; i++) {
            min = i;
            for (int j = i; j < size; j++) {
                if (array[min] > array[j]) {
                    min = j;
                }
            }
            if (min != i) {
                temp = array[min];
                array[min] = array[i];
                array[i] = temp;
            }
        }
        return array;
    }

    public static void main(String[] args) {
        SelectSort select = new SelectSort();
        Integer[] array = DataUtil.genUniqueArray(12, 50);
        DataUtil.printArray(array);
        DataUtil.printArray(select.sort(array));
    }
}
